﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using NP.BPMReportPlatform.Entities.BPM_Business.CXYXTHNR;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.Reports.CXYXTHNRA.Dtos
{
    public class GetCXYXTHNROutput
    {
        /// <summary>
        /// 流程实例编号
        /// </summary>
        [ExporterHeader("流程编号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? ProcessStartTime { get; set; }
        [ExporterHeader("申请时间")]
        public string ProcessStartTimeStr { get; set; }

        /// <summary>
        /// 添加用户名称
        /// </summary>
        [ExporterHeader("申请人")]
        public string ProcessStartUserName { get; set; }

        /// <summary>
        /// 流程状态
        /// </summary>
        [ExporterHeader("流程状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public string Url { get; set; }

        /// <summary>
        /// 是否需要委员会安排
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public bool? IsNeedCommittee { get; set; }
        [ExporterHeader("是否需要委员会安排")]
        public string IsNeedCommitteeStr { get; set; }

        /// <summary>
        /// 申请人工号
        /// </summary>
        [ExporterHeader("申请人工号")]
        public string ApplicantWorkNumber { get; set; }

        /// <summary>
        /// 申请人姓名
        /// </summary>
        [ExporterHeader("申请人姓名")]
        public string ApplicantUserName { get; set; }

        /// <summary>
        /// 申请人部门
        /// </summary>
        [ExporterHeader("申请人部门")]
        public string ApplicantUserOrganization { get; set; }

        /// <summary>
        /// 所在公司编号
        /// </summary>
        [ExporterHeader("所在公司编号")]
        public string CompanyCode { get; set; }

        /// <summary>
        /// 产学研活动现状(有/无)
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public bool? CurrentSituation { get; set; }
        [ExporterHeader("产学研活动现状")]
        public string CurrentSituationStr { get; set; }

        /// <summary>
        /// 经费编制成本中心
        /// </summary>
        [ExporterHeader("经费编制成本中心")]
        public string CostCenter { get; set; }

        /// <summary>
        /// 所在公司高新技术企业证书有效期开始时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? ValidStartTime { get; set; }
        [ExporterHeader("所在公司高新技术企业证书有效期开始时间")]
        public string ValidStartTimeStr { get; set; }

        /// <summary>
        /// 所在公司高新技术企业证书有效期结束时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? ValidEndTime { get; set; }
        [ExporterHeader("所在公司高新技术企业证书有效期结束时间")]
        public string ValidEndTimeStr { get; set; }

        /// <summary>
        /// 产学研活动目的类型
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public string ActivityPurposeType { get; set; }

        /// <summary>
        /// 产学研活动目的
        /// </summary>
        [ExporterHeader("产学研活动目的")]
        public string ActivityPurpose { get; set; }

        /// <summary>
        /// 产学研活动需要委员会安排哪些内容类型
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public string CommitteeArrangeContentType { get; set; }

        /// <summary>
        /// 产学研活动需要委员会安排哪些内容
        /// </summary>
        [ExporterHeader("产学研活动需要委员会安排哪些内容")]
        public string CommitteeArrangeContent { get; set; }

        /// <summary>
        /// 产学研活动项目名称
        /// </summary>
        [ExporterHeader("产学研活动项目名称")]
        public string ItemName { get; set; }

        /// <summary>
        /// 合作学校（科研院所）
        /// </summary>
        [ExporterHeader("合作学校（科研院所）")]
        public string CooperationSchool { get; set; }

        /// <summary>
        /// 合同签订公司名称
        /// </summary>
        [ExporterHeader("合同签订公司名称")]
        public string ContractCompany { get; set; }

        /// <summary>
        /// 合作经费（万元）
        /// </summary>
        [ExporterHeader("合作经费（万元）")]
        public decimal? CooperationFunds { get; set; }

        /// <summary>
        /// 合作开始时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? CooperationStartTime { get; set; }
        [ExporterHeader("合作开始时间")]
        public string CooperationStartTimeStr { get; set; }

        /// <summary>
        /// 合作结束时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? CooperationEndTime { get; set; }
        [ExporterHeader("合作结束时间")]
        public string CooperationEndTimeStr { get; set; }

        /// <summary>
        /// 产学研活动内容简述
        /// </summary>
        [ExporterHeader("产学研活动内容简述")]
        public string ActivityDescription { get; set; }

        /// <summary>
        /// 是否可参与高新技术企业申报
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public bool? IsHighTechApplication { get; set; }
        [ExporterHeader("是否可参与高新技术企业申报")]
        public string IsHighTechApplicationStr { get; set; }

        #region 实施阶段字段

        /// <summary>
        /// 产学研活动项目名称
        /// </summary>
        [ExporterHeader("产学研活动项目名称（项目前准备）")]
        public string ImplementItemName { get; set; }

        /// <summary>
        /// 合作学校（科研院所）
        /// </summary>
        [ExporterHeader("合作学校（科研院所）（项目前准备）")]
        public string ImplementCooperationSchool { get; set; }

        /// <summary>
        /// 合作开始时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? ImplementCooperationStartTime { get; set; }
        [ExporterHeader("合作开始时间（项目前准备）")]
        public string ImplementCooperationStartTimeStr { get; set; }

        /// <summary>
        /// 合作结束时间
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public DateTime? ImplementCooperationEndTime { get; set; }
        [ExporterHeader("合作结束时间（项目前准备）")]
        public string ImplementCooperationEndTimeStr { get; set; }

        /// <summary>
        /// 合作经费（万元）
        /// </summary>
        [ExporterHeader("合作经费（万元）（项目前准备）")]
        public decimal? ImplementCooperationFunds { get; set; }

        #endregion
    }

    public class ExportCXYXTHNRDto1
    {
        [ExporterHeader("申请人")]
        public string ProcessStartUserName { get; set; }

        /// <summary>
        /// 申请人部门
        /// </summary>
        [ExporterHeader("申请人所在部门")]
        public string ApplicantUserOrganization { get; set; }

        /// <summary>
        /// 所在公司编号
        /// </summary>
        [ExporterHeader("所在公司编码（SAP）")]
        public string CompanyCode { get; set; }

        /// <summary>
        /// 产学研活动现状（有/无）
        /// </summary>
        [ExporterHeader("产学研活动现状（有/无）")]
        public string CurrentSituationStr { get; set; }

        /// <summary>
        /// 经费编制成本中心
        /// </summary>
        [ExporterHeader("经费编制成本中心")]
        public string CostCenter { get; set; }

        [ExporterHeader("所在公司高新技术企业证书有效期开始时间")]
        public string ValidStartTimeStr { get; set; }

        [ExporterHeader("所在公司高新技术企业证书有效期结束时间")]
        public string ValidEndTimeStr { get; set; }

        /// <summary>
        /// 产学研活动目的
        /// </summary>
        [ExporterHeader("产学研活动项目目的")]
        public string ActivityPurpose { get; set; }

        /// <summary>
        /// 产学研活动需要委员会安排哪些内容
        /// </summary>
        [ExporterHeader("产学研活动需要委员会安排哪些内容")]
        public string CommitteeArrangeContent { get; set; }
    }

    public class ExportCXYXTHNRDto2
    {
        [ExporterHeader("申请人")]
        public string ProcessStartUserName { get; set; }

        /// <summary>
        /// 申请人部门
        /// </summary>
        [ExporterHeader("申请人所在部门")]
        public string ApplicantUserOrganization { get; set; }

        /// <summary>
        /// 所在公司编号
        /// </summary>
        [ExporterHeader("所在公司编码（SAP）")]
        public string CompanyCode { get; set; }

        /// <summary>
        /// 产学研活动项目名称
        /// </summary>
        [ExporterHeader("产学研活动项目名称")]
        public string ItemName { get; set; }

        [ExporterHeader("合作开始时间")]
        public string CooperationStartTimeStr { get; set; }

        [ExporterHeader("合作结束时间")]
        public string CooperationEndTimeStr { get; set; }

        /// <summary>
        /// 合作经费（万元）
        /// </summary>
        [ExporterHeader("合作经费（万元）")]
        public decimal? CooperationFunds { get; set; }

        [ExporterHeader("是否可参与高新技术企业申报")]
        public string IsHighTechApplicationStr { get; set; }

        /// <summary>
        /// 产学研活动内容简述
        /// </summary>
        [ExporterHeader("产学研活动内容简述")]
        public string ActivityDescription { get; set; }
    }
}
